package unit03.day04;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * 遍历集合
 * Collection提供了同意的遍历集合元素的方式：迭代器模式
 * 
 * Iterator iterator()
 * 获取用于遍历当前集合的迭代器
 * 
 * java.util.Iterator是一个接口，规定了用于遍历集合元素的相关方法，不同的集合提供了相应的实现类。
 * 无需基础那些实现类的名字，只将他们当做Iterator即可
 * 
 * 遍历集合遵循：问，取，删的步骤，其中删除不是必须操作
 * */
public class CollectionDemo3 {

	public static void main(String[] args) {
		Collection c = new ArrayList();
		c.add("one");
		c.add("#");
		c.add("two");
		c.add("#");
		c.add("three");
		c.add("#");
		c.add("four");
		c.add("#");
		c.add("five");
		//获取用于遍历当前集合的迭代器
		Iterator it = c.iterator();
		while(it.hasNext()) {
			String str = (String)it.next(); 
			if("#".equals(str)) {
				//在使用迭代器遍历集合时，不要使用集合的方法增删元素，否则会异常
//				c.remove(str);
				//remove方法替代删除
				it.remove();
			}
			System.out.println(str);
		}
		System.out.println(c);
	}
}
